# WRF-SEM achieved work and follow-ups

$(call REGISTER_TASK,WRF_SE_PHASEA1,done,essential,SE_EXISTING,Ensure CI parity scaffolding available with thresholds,$(call WRF_REF,comparisons/WRF_SE_roadmap_todo.md))
$(call REGISTER_META,WRF_SE_PHASEA1,wrf-se,,P3,wrf wrf-se existing parity,)
$(call REGISTER_SUCCESS,WRF_SE_PHASEA1,$(WRF_SUCCESS_DIR)/WRF_SE_PHASEA1.md)

$(call REGISTER_TASK,WRF_SE_PHASEA2,done,essential,SE_EXISTING,Add WRF SE parity row to cross dycore summary,$(call WRF_REF,comparisons/WRF_SE_roadmap_todo.md))
$(call REGISTER_META,WRF_SE_PHASEA2,wrf-se,,P3,wrf wrf-se existing parity summary,)
$(call REGISTER_SUCCESS,WRF_SE_PHASEA2,$(WRF_SUCCESS_DIR)/WRF_SE_PHASEA2.md)

$(call REGISTER_TASK,WRF_SE_PHASEAAC,done,essential,SE_EXISTING,Record Phase A acceptance with caps and summaries,$(call WRF_REF,comparisons/WRF_SE_roadmap_todo.md))
$(call REGISTER_META,WRF_SE_PHASEAAC,wrf-se,,P3,wrf wrf-se existing acceptance,)
$(call REGISTER_SUCCESS,WRF_SE_PHASEAAC,$(WRF_SUCCESS_DIR)/WRF_SE_PHASEAAC.md)

$(call REGISTER_TASK,WRF_SE_PHASEB1,done,essential,SE_EXISTING,Implement SEM element plumbing and metrics caching,$(call WRF_REF,comparisons/WRF_SE_roadmap_todo.md))
$(call REGISTER_META,WRF_SE_PHASEB1,wrf-se,,P3,wrf wrf-se existing plumbing,)
$(call REGISTER_SUCCESS,WRF_SE_PHASEB1,$(WRF_SUCCESS_DIR)/WRF_SE_PHASEB1.md)

$(call REGISTER_TASK,WRF_SE_PHASEB2,done,essential,SE_EXISTING,Provide Cfvm and Mfvm builders with slowdown guardrails,$(call WRF_REF,comparisons/WRF_SE_roadmap_todo.md))
$(call REGISTER_META,WRF_SE_PHASEB2,wrf-se,,P3,wrf wrf-se existing builders,)
$(call REGISTER_SUCCESS,WRF_SE_PHASEB2,$(WRF_SUCCESS_DIR)/WRF_SE_PHASEB2.md)

$(call REGISTER_TASK,WRF_SE_PHASEB3,done,essential,SE_EXISTING,Add geometry accurate Jacobian metrics per element,$(call WRF_REF,comparisons/WRF_SE_roadmap_todo.md))
$(call REGISTER_META,WRF_SE_PHASEB3,wrf-se,,P3,wrf wrf-se existing metrics,)
$(call REGISTER_SUCCESS,WRF_SE_PHASEB3,$(WRF_SUCCESS_DIR)/WRF_SE_PHASEB3.md)

$(call REGISTER_TASK,WRF_SE_PHASEB4,done,essential,SE_EXISTING,Assemble Cfvm and Mfvm with conservation tests,$(call WRF_REF,comparisons/WRF_SE_roadmap_todo.md))
$(call REGISTER_META,WRF_SE_PHASEB4,wrf-se,,P3,wrf wrf-se existing conservation,)
$(call REGISTER_SUCCESS,WRF_SE_PHASEB4,$(WRF_SUCCESS_DIR)/WRF_SE_PHASEB4.md)

$(call REGISTER_TASK,WRF_SE_PHASEB5,done,essential,SE_EXISTING,Add dedicated accuracy test with mass preservation,$(call WRF_REF,comparisons/WRF_SE_roadmap_todo.md))
$(call REGISTER_META,WRF_SE_PHASEB5,wrf-se,,P3,wrf wrf-se existing accuracy,)
$(call REGISTER_SUCCESS,WRF_SE_PHASEB5,$(WRF_SUCCESS_DIR)/WRF_SE_PHASEB5.md)

$(call REGISTER_TASK,WRF_SE_PHASEB_OPT1,optional,optional,SE_EXISTING,Extend SEM operator support to higher orders and levels,$(call WRF_REF,comparisons/WRF_SE_roadmap_todo.md))
$(call REGISTER_META,WRF_SE_PHASEB_OPT1,wrf-se,,P3,wrf wrf-se existing optional support,)
$(call REGISTER_SUCCESS,WRF_SE_PHASEB_OPT1,$(WRF_SUCCESS_DIR)/WRF_SE_PHASEB_OPT1.md)

$(call REGISTER_TASK,WRF_SE_PHASEBAC,optional,optional,SE_EXISTING,Confirm Phase B acceptance across extended configurations,$(call WRF_REF,comparisons/WRF_SE_roadmap_todo.md))
$(call REGISTER_META,WRF_SE_PHASEBAC,wrf-se,,P3,wrf wrf-se existing optional acceptance,)
$(call REGISTER_SUCCESS,WRF_SE_PHASEBAC,$(WRF_SUCCESS_DIR)/WRF_SE_PHASEBAC.md)

$(call REGISTER_TASK,WRF_SE_PHASEC1,done,essential,SE_EXISTING,Run projection benchmarks with per order metrics,$(call WRF_REF,comparisons/WRF_SE_roadmap_todo.md))
$(call REGISTER_META,WRF_SE_PHASEC1,wrf-se,,P3,wrf wrf-se existing benchmarks,)
$(call REGISTER_SUCCESS,WRF_SE_PHASEC1,$(WRF_SUCCESS_DIR)/WRF_SE_PHASEC1.md)

$(call REGISTER_TASK,WRF_SE_PHASEC1_1,done,essential,SE_EXISTING,Add robust stats and tunable repetitions to benchmarks,$(call WRF_REF,comparisons/WRF_SE_roadmap_todo.md))
$(call REGISTER_META,WRF_SE_PHASEC1_1,wrf-se,,P3,wrf wrf-se existing benchmarks stats,)
$(call REGISTER_SUCCESS,WRF_SE_PHASEC1_1,$(WRF_SUCCESS_DIR)/WRF_SE_PHASEC1_1.md)

$(call REGISTER_TASK,WRF_SE_PHASEC1_2,done,essential,SE_EXISTING,Extend benchmarks to include MFVM assembly at N3,$(call WRF_REF,comparisons/WRF_SE_roadmap_todo.md))
$(call REGISTER_META,WRF_SE_PHASEC1_2,wrf-se,,P3,wrf wrf-se existing benchmarks assembly,)
$(call REGISTER_SUCCESS,WRF_SE_PHASEC1_2,$(WRF_SUCCESS_DIR)/WRF_SE_PHASEC1_2.md)

$(call REGISTER_TASK,WRF_SE_PHASEC1_3,done,essential,SE_EXISTING,Add MFVM micro probe at order four,$(call WRF_REF,comparisons/WRF_SE_roadmap_todo.md))
$(call REGISTER_META,WRF_SE_PHASEC1_3,wrf-se,,P3,wrf wrf-se existing mfvm probe,)
$(call REGISTER_SUCCESS,WRF_SE_PHASEC1_3,$(WRF_SUCCESS_DIR)/WRF_SE_PHASEC1_3.md)

$(call REGISTER_TASK,WRF_SE_PHASEC1_4,done,essential,SE_EXISTING,Add end to end Cfvm to Mfvm toy step test,$(call WRF_REF,comparisons/WRF_SE_roadmap_todo.md))
$(call REGISTER_META,WRF_SE_PHASEC1_4,wrf-se,,P3,wrf wrf-se existing cfvm toy,)
$(call REGISTER_SUCCESS,WRF_SE_PHASEC1_4,$(WRF_SUCCESS_DIR)/WRF_SE_PHASEC1_4.md)

$(call REGISTER_TASK,WRF_SE_PHASEC1_5,done,essential,SE_EXISTING,Add convergence gates across orders and levels,$(call WRF_REF,comparisons/WRF_SE_roadmap_todo.md))
$(call REGISTER_META,WRF_SE_PHASEC1_5,wrf-se,,P3,wrf wrf-se existing convergence,)
$(call REGISTER_SUCCESS,WRF_SE_PHASEC1_5,$(WRF_SUCCESS_DIR)/WRF_SE_PHASEC1_5.md)

$(call REGISTER_TASK,WRF_SE_PHASEC1_6,done,essential,SE_EXISTING,Complete local acceptance sweep with JSON and CSV outputs,$(call WRF_REF,comparisons/WRF_SE_roadmap_todo.md))
$(call REGISTER_META,WRF_SE_PHASEC1_6,wrf-se,,P3,wrf wrf-se existing acceptance sweep,)
$(call REGISTER_SUCCESS,WRF_SE_PHASEC1_6,$(WRF_SUCCESS_DIR)/WRF_SE_PHASEC1_6.md)

$(call REGISTER_TASK,WRF_SE_PHASEC1_7,done,optional,SE_EXISTING,Add analytic self convergence harness for SEM,$(call WRF_REF,comparisons/WRF_SE_roadmap_todo.md))
$(call REGISTER_META,WRF_SE_PHASEC1_7,wrf-se,,P3,wrf wrf-se existing optional convergence,)
$(call REGISTER_SUCCESS,WRF_SE_PHASEC1_7,$(WRF_SUCCESS_DIR)/WRF_SE_PHASEC1_7.md)

$(call REGISTER_TASK,WRF_SE_PHASEC_OPT1,optional,optional,SE_EXISTING,Extend accuracy self convergence to higher orders,$(call WRF_REF,comparisons/WRF_SE_roadmap_todo.md))
$(call REGISTER_META,WRF_SE_PHASEC_OPT1,wrf-se,,P3,wrf wrf-se existing optional accuracy,)
$(call REGISTER_SUCCESS,WRF_SE_PHASEC_OPT1,$(WRF_SUCCESS_DIR)/WRF_SE_PHASEC_OPT1.md)

$(call REGISTER_TASK,WRF_SE_PHASEC_OPT2,optional,optional,SE_EXISTING,Add SEM performance micro bench regression guard,$(call WRF_REF,comparisons/WRF_SE_roadmap_todo.md))
$(call REGISTER_META,WRF_SE_PHASEC_OPT2,wrf-se,,P3,wrf wrf-se existing optional performance,)
$(call REGISTER_SUCCESS,WRF_SE_PHASEC_OPT2,$(WRF_SUCCESS_DIR)/WRF_SE_PHASEC_OPT2.md)

$(call REGISTER_TASK,WRF_SE_PHASECAC,optional,optional,SE_EXISTING,Confirm Phase C acceptance with guardrails and archives,$(call WRF_REF,comparisons/WRF_SE_roadmap_todo.md))
$(call REGISTER_META,WRF_SE_PHASECAC,wrf-se,,P3,wrf wrf-se existing optional acceptance,)
$(call REGISTER_SUCCESS,WRF_SE_PHASECAC,$(WRF_SUCCESS_DIR)/WRF_SE_PHASECAC.md)

$(call REGISTER_TASK,WRF_SE_PHASED1,done,essential,SE_EXISTING,Include SE row in cross dycore comparison reports,$(call WRF_REF,comparisons/WRF_SE_roadmap_todo.md))
$(call REGISTER_META,WRF_SE_PHASED1,wrf-se,,P3,wrf wrf-se existing reports,)
$(call REGISTER_SUCCESS,WRF_SE_PHASED1,$(WRF_SUCCESS_DIR)/WRF_SE_PHASED1.md)

$(call REGISTER_TASK,WRF_SE_PHASED_OPT1,optional,optional,SE_EXISTING,Document verification gates operational policy for SE,$(call WRF_REF,comparisons/WRF_SE_roadmap_todo.md))
$(call REGISTER_META,WRF_SE_PHASED_OPT1,wrf-se,,P3,wrf wrf-se existing optional docs,)
$(call REGISTER_SUCCESS,WRF_SE_PHASED_OPT1,$(WRF_SUCCESS_DIR)/WRF_SE_PHASED_OPT1.md)

$(call REGISTER_TASK,WRF_SE_PHASEDAC,done,essential,SE_EXISTING,Update docs with dated sections and triage helper,$(call WRF_REF,comparisons/WRF_SE_roadmap_todo.md))
$(call REGISTER_META,WRF_SE_PHASEDAC,wrf-se,,P3,wrf wrf-se existing docs,)
$(call REGISTER_SUCCESS,WRF_SE_PHASEDAC,$(WRF_SUCCESS_DIR)/WRF_SE_PHASEDAC.md)

$(call REGISTER_TASK,WRF_SE_GOAL,optional,optional,SE_EXISTING,Achieve validated SE operators across orders and guardrails,$(call WRF_REF,comparisons/WRF_SE_roadmap_todo.md))
$(call REGISTER_META,WRF_SE_GOAL,wrf-se,,P3,wrf wrf-se next optional goal,)
$(call REGISTER_SUCCESS,WRF_SE_GOAL,$(WRF_SUCCESS_DIR)/WRF_SE_GOAL.md)

$(call REGISTER_TASK,WRF_SE_NEXT_OPT1,optional,optional,NEXT_STEPS,Extend SE operator tests to order five and higher levels,$(call WRF_REF,comparisons/WRF_SE_roadmap_todo.md))
$(call REGISTER_META,WRF_SE_NEXT_OPT1,wrf-se,,P3,wrf wrf-se next optional tests,)
$(call REGISTER_SUCCESS,WRF_SE_NEXT_OPT1,$(WRF_SUCCESS_DIR)/WRF_SE_NEXT_OPT1.md)

$(call REGISTER_TASK,WRF_SE_NEXT_OPT2,optional,optional,NEXT_STEPS,Promote analytic EOC results to rolling trend dashboard,$(call WRF_REF,comparisons/WRF_SE_roadmap_todo.md))
$(call REGISTER_META,WRF_SE_NEXT_OPT2,wrf-se,,P3,wrf wrf-se next optional dashboard,)
$(call REGISTER_SUCCESS,WRF_SE_NEXT_OPT2,$(WRF_SUCCESS_DIR)/WRF_SE_NEXT_OPT2.md)

$(call REGISTER_TASK,WRF_SE_NEXT_OPT3,optional,optional,NEXT_STEPS,Add SE performance probe aggregator with warn guard,$(call WRF_REF,comparisons/WRF_SE_roadmap_todo.md))
$(call REGISTER_META,WRF_SE_NEXT_OPT3,wrf-se,,P3,wrf wrf-se next optional performance,)
$(call REGISTER_SUCCESS,WRF_SE_NEXT_OPT3,$(WRF_SUCCESS_DIR)/WRF_SE_NEXT_OPT3.md)

$(call REGISTER_TASK,WRF_SE_NEXT_OPT4,done,optional,NEXT_STEPS,Decide default BLAS threshold for SEM probes,$(call WRF_REF,comparisons/WRF_SE_roadmap_todo.md))
$(call REGISTER_META,WRF_SE_NEXT_OPT4,wrf-se,,P3,wrf wrf-se next optional blas,)
$(call REGISTER_SUCCESS,WRF_SE_NEXT_OPT4,$(WRF_SUCCESS_DIR)/WRF_SE_NEXT_OPT4.md)

$(call REGISTER_TASK,WRF_SE_NEXT_OPT5,done,optional,NEXT_STEPS,Include SE parity smoke row synthesis in CI summary,$(call WRF_REF,comparisons/WRF_SE_roadmap_todo.md))
$(call REGISTER_META,WRF_SE_NEXT_OPT5,wrf-se,,P3,wrf wrf-se next optional summary,)
$(call REGISTER_SUCCESS,WRF_SE_NEXT_OPT5,$(WRF_SUCCESS_DIR)/WRF_SE_NEXT_OPT5.md)
